package com.zh.blog.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zh.blog.dto.RoleDto;
import com.zh.blog.dto.UserRoleDto;
import com.zh.blog.model.Role;
import com.zh.blog.vo.ConditionVO;
import com.zh.blog.vo.PageResult;
import com.zh.blog.vo.RoleVO;
import com.zh.blog.vo.UserDisableVO;

import java.util.List;

/**
 * @author ZhengHao
 * Created At 2022/8/7.
 **/
public interface RoleService extends IService<Role> {
    /**
     * 获取用户角色选项
     * @return 角色
     */
    List<UserRoleDto> listUserRoles();

    /**
     * 查询角色列表
     * @param conditionVO 条件
     * @return 角色列表
     */
    PageResult<RoleDto> listRoles(ConditionVO conditionVO);

    /**
     * 删除角色
     * @param roleIdList
     */
    void deleteRoles(List<Integer> roleIdList);

    /**
     * 保存或者更新角色
     * @param roleVO 需要保存的角色信息
     */
    void saveOrUpdateRole(RoleVO roleVO);

    /**
     * 修改角色禁用状态
     * @param userDisableVO 角色禁用信息
     */
    void updateRoleDisable(UserDisableVO userDisableVO);
}